#include<stdio.h>
#include <unistd.h>
#include<stdlib.h>
#include<sys/wait.h>
int main()
{  

    pid_t id = fork();
    if(id==0)
    {
        //child
        int cnt =500;
        while(cnt)
        {
            printf("i am child, pid: %d, ppid: %d\n",getpid(),getppid());
            sleep(1);
            cnt--;
        }
        exit(0);
    }
    //father
    int cnt=5;
    while(cnt)
    {
        cnt--;
        printf("i am father, pid: %d, ppid: %d\n",getpid(),getppid());
        sleep(1);
    }
   // wait(NULL);
   // printf("father wait child done...\n");
   // sleep(5);











    //深度睡眠状态(D状态)  ---不可中断   D状态也是一种阻塞状态

    //阻塞状态(S状态)     可中断睡眠---浅度睡眠 
    //int a=0;
    //scanf("%d",&a);
    //printf("%d\n",a);


    //暂停状态也是一种阻塞状态
    //T状态，让进程处于暂停状态     kill -19 暂停进程   
    //t状态，暂停状态               kill -18 重启进程

    ////运行状态(R状态)
    //while(1)
    //{
    //   printf("hello process, %d \n",getpid());
    //   sleep(1);
    //}
    return 0;
}
